/****************************************************************/
/*                        Instruction                           */
/* This is the Material       */
/* to compute density for multphase pyrolysis matreial.         */
/* the pyrolysis model is single-phase Arrhenius relation(pyrolysis area,not surface model) .         */
/* the first version did not include pyrolysis gas properties(created at 2017.04.21)*/


#pragma once

#include "Material.h"
#include "MaterialData.h"
#include "LinearInterpolation.h"

class Function;

class ComputeRhoMaterial : public Material
{
public:
	ComputeRhoMaterial(const InputParameters & parameters);
protected:
  virtual void initQpStatefulProperties();
  virtual void computeQpProperties();
  private:
   MaterialProperty<Real> & _rhos;
   MaterialProperty<Real> & _drhos_dt;


  const VariableValue &   _rho_A_value;
  const VariableValue &   _rho_B_value;
  const VariableValue &   _rho_C_value;
  const VariableValue &   _rho_A_dt;
  const VariableValue &   _rho_B_dt;
  const VariableValue &   _rho_C_dt;

  Real  _volume_fraction_A_value;
  Real  _volume_fraction_B_value;
  Real  _volume_fraction_C_value;

};

template<>
InputParameters validParams<ComputeRhoMaterial>();
